Lars Ingebrigtsen [Thu, 26 Nov 2020 10:00:35 +0000 (11:00 +0100)]
Allow following symlinks when recompiling directories
* doc/lispref/compile.texi (Compilation Functions): Document it.
* lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Allow
following symlinks (bug#10292).
Stefan Kangas [Thu, 26 Nov 2020 06:00:19 +0000 (07:00 +0100)]
; * etc/NEWS: Add some missing documentation markers.
Stefan Kangas [Thu, 26 Nov 2020 05:37:18 +0000 (06:37 +0100)]
* lisp/files.el (auto-mode-alist): Add entry for "archive-contents".
Eric Abrahamsen [Wed, 25 Nov 2020 23:26:06 +0000 (15:26 -0800)]
Add "replied" -> "answered" for gnus-search imap searches
* lisp/gnus/gnus-search.el (gnus-search-imap-handle-flag): This allows
"mark:A" to be translated into "ANSWERED" and "-mark:A" to be
translated into "UNANSWERED".
Eric Abrahamsen [Sat, 14 Nov 2020 21:37:08 +0000 (13:37 -0800)]
Assume default imap TEXT search even when not using parsed queries
This behavior both better matches the previous nnir behavior, reducing
confusion for new users, and matches behavior when using parsed
queries.
* lisp/gnus/gnus-search.el (gnus-search-imap-search-keys): Make sure
this variable contains all known IMAP search keys.
(gnus-search-run-search): If the search query doesn't start with a
known search key, prepend "TEXT " to the query.
Michael Albinus [Wed, 25 Nov 2020 21:13:33 +0000 (22:13 +0100)]
Use null-device where appropriate
* lisp/filesets.el (filesets-select-command):
* lisp/shell.el (shell-mode):
* lisp/term.el (term-exec-1):
* lisp/wdired.el (wdired-do-symlink-changes):
* lisp/cedet/ede/pmake.el (ede-proj-makefile-create):
* lisp/eshell/esh-io.el (eshell-set-output-handle):
* lisp/gnus/gnus-fun.el (gnus-grab-cam-x-face):
* lisp/gnus/mml2015.el (mml2015-epg-key-image):
* lisp/gnus/smime.el (smime-noverify-region):
* lisp/org/ob-picolisp.el (org-babel-execute:picolisp):
* lisp/org/ob-screen.el (org-babel-prep-session:screen)
(org-babel-prep-session:screen):
* lisp/play/fortune.el (fortune-quiet-strfile-options):
* lisp/progmodes/cperl-mode.el (cperl-pod2man-build-command):
* lisp/progmodes/sh-script.el (sh-tmp-file):
* lisp/vc/diff-mode.el (diff-add-log-current-defuns)
(diff--font-lock-prettify):
* lisp/vc/ediff-mult.el (ediff-patch-file-form-meta):
* lisp/vc/ediff-ptch.el (ediff-map-patch-buffer)
(ediff-fixup-patch-map, ediff-dispatch-file-patching-job):
* lisp/vc/vc.el (vc-diff-internal): Use null-device or (null-device),
respectively. (Bug#3736)
Juri Linkov [Wed, 25 Nov 2020 20:24:11 +0000 (22:24 +0200)]
* lisp/minibuffer.el (completions-format): Add new value 'one-column'.
* lisp/minibuffer.el (completion--insert-strings): Support 'one-column'.
* lisp/simple.el (read-from-kill-ring): Truncate strings at frame-width.
Stefan Monnier [Wed, 25 Nov 2020 19:49:55 +0000 (14:49 -0500)]
(defvar): Detect defining a variable currently lexically bound
* src/eval.c (lexbound_p): New function.
(Finternal__define_uninitialized_variable): Use it.
Mattias Engdegård [Wed, 25 Nov 2020 12:56:39 +0000 (13:56 +0100)]
Add tests for replace-regexp-in-string
* test/lisp/subr-tests.el (subr-replace-regexp-in-string): New.
Mattias Engdegård [Wed, 25 Nov 2020 11:39:56 +0000 (12:39 +0100)]
* doc/lispref/searching.texi (Rx Constructs): Group numbering fix
Michael Albinus [Wed, 25 Nov 2020 11:24:08 +0000 (12:24 +0100)]
* test/lisp/net/tramp-tests.el (tramp-test29-start-file-process):
Use `tramp--test-windows-nt-p'.
Michael Albinus [Wed, 25 Nov 2020 11:18:23 +0000 (12:18 +0100)]
Merge from origin/emacs-27
6442cdc0e4 Revert extra focus redirection in do_switch_frame (Bug#24803)
fc4379f1ae Minor cleanup of tramp-tests.el on MS Windows
dea3d6aa18 Fix handling of defcustom :local tag
Michael Albinus [Wed, 25 Nov 2020 10:49:54 +0000 (11:49 +0100)]
; Merge from origin/emacs-27
The following commit was skipped:
b2ee665024 CC Mode. Fix an off by one error. Fixes bug #41809
Michael Albinus [Wed, 25 Nov 2020 10:49:54 +0000 (11:49 +0100)]
Merge from origin/emacs-27
f425a774c2 Fix display artifacts when 'display' properties cover newl...
Martin Rudalics [Wed, 25 Nov 2020 08:58:21 +0000 (09:58 +0100)]
Revert extra focus redirection in do_switch_frame (Bug#24803)
* src/frame.c (do_switch_frame): Do not also redirect frame
focus when FRAME has its minibuffer window on the selected
frame which was intended to fix Bug#24500. It may cause
Bug#24803 and lead to a nasty state where no active cursor is
shown on any frame, see
https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg01137.html.
Juri Linkov [Wed, 25 Nov 2020 08:46:59 +0000 (10:46 +0200)]
Add 'completions-detailed' to add prefix/suffix with 'affixation-function'
* doc/lispref/minibuf.texi (Completion Variables)
(Programmed Completion): Add affixation-function.
* lisp/help-fns.el (help--symbol-completion-table-affixation): New function.
(help--symbol-completion-table): Set affixation-function when
completions-detailed is non-nil.
* lisp/minibuffer.el (completion-metadata): Add affixation-function
to docstring.
(completions-annotations): Inherit from shadow with italic.
(completions-detailed): New defcustom.
(completion--insert-strings): Count string-width on all strings in
completion list. Insert prefix and suffix.
(completion-extra-properties): Add affixation-function to docstring.
(minibuffer-completion-help): Call affixation-function.
(minibuffer-default-prompt-format): Move down closer to its use.
https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg00613.html
Michael Albinus [Wed, 25 Nov 2020 08:41:11 +0000 (09:41 +0100)]
Minor cleanup of tramp-tests.el on MS Windows
* test/lisp/net/tramp-tests.el (tramp-test29-start-file-process):
Do not test remote pty on MS Windows.
Lars Ingebrigtsen [Wed, 25 Nov 2020 05:29:10 +0000 (06:29 +0100)]
Move code in face-remap.el to avoid a compilation warning
* lisp/face-remap.el (text-scale--refresh): Move code to avoid
compilation warning.
In text-scale--refresh:
face-remap.el:241:14: Warning: reference to free variable ‘text-scale-mode’
Stefan Kangas [Wed, 25 Nov 2020 02:03:48 +0000 (03:03 +0100)]
Make text-scale-mode optionally adjust the header line
* lisp/face-remap.el
(text-scale-remap-header-line-face): New buffer local variable.
(text-scale-mode): Adjust header line if above variable is non-nil.
(face-remap--clear-remappings, face-remap--remap-face): New defuns.
* lisp/face-remap.el: Arrange to watch text-scale-mode-remapping.
(text-scale--refresh): New function.
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode): Use
text-scale-remap-header-line. (Bug#41852)
Juri Linkov [Tue, 24 Nov 2020 19:23:41 +0000 (21:23 +0200)]
Yank items selected from kill-ring using completion and minibuffer history
* doc/emacs/killing.texi (Earlier Kills): Document standalone M-y.
* doc/emacs/search.texi (Isearch Yank): Explain standalone M-y.
* doc/lispref/text.texi (Yank Commands): Soften the wording of
yank after another yank.
* lisp/delsel.el: Put 'yank' property on yank-pop and yank-from-kill-ring.
* lisp/isearch.el (isearch-yank-pop): Use with-isearch-suspended
and read-from-kill-ring to read a string from the kill-ring and
append it to the search string.
* lisp/simple.el (yank-pop): Call yank-from-kill-ring and
read-from-kill-ring when last-command is not 'yank' instead of
signaling an error. Remove "*" from interactive spec. Update docstring.
(read-from-kill-ring): New function.
(yank-from-kill-ring): New command.
https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg00801.html
Stefan Kangas [Tue, 24 Nov 2020 19:09:04 +0000 (20:09 +0100)]
* build-aux/update-subdirs: Use lexical-binding in subdirs.el.
Philipp Stephani [Tue, 24 Nov 2020 17:38:36 +0000 (18:38 +0100)]
Add a (broken) unit test to exemplify Bug#11218.
* test/lisp/emacs-lisp/ert-tests.el
(ert-test-with-demoted-errors): New (broken) unit test.
Stefan Kangas [Tue, 24 Nov 2020 17:10:29 +0000 (18:10 +0100)]
; Reintroduce line mistakenly removed in my last commit
Stefan Kangas [Tue, 24 Nov 2020 17:03:31 +0000 (18:03 +0100)]
Remove XEmacs compat code from idlw-help.el
* lisp/progmodes/idlw-help.el (idlwave-do-context-help)
(idlwave-help-show-help-frame): Remove XEmacs compat code.
Stefan Kangas [Tue, 24 Nov 2020 16:39:11 +0000 (17:39 +0100)]
Make XEmacs compat aliases easy-menu-{add,remove} obsolete
* lisp/emacs-lisp/easymenu.el (easy-menu-remove, easy-menu-add):
Make XEmacs compat aliases obsolete.
* lisp/allout.el (allout-setup-menubar):
* lisp/cus-edit.el (Custom-mode):
* lisp/gnus/gnus-art.el (gnus-article-edit-mode):
* lisp/gnus/message.el (message-mode):
* lisp/net/sieve.el (sieve-manage-mode):
* lisp/org/org-agenda.el (org-agenda-mode):
* lisp/org/org-table.el (org-table-edit-formulas, orgtbl-mode):
* lisp/org/org.el:
* lisp/progmodes/cperl-mode.el (cperl-mode):
* lisp/progmodes/hideshow.el (hs-minor-mode):
* lisp/progmodes/idlw-help.el (idlwave-help-mode):
* lisp/progmodes/idlw-shell.el (idlwave-shell-mode):
* lisp/progmodes/idlwave.el (idlwave-mode):
* lisp/progmodes/meta-mode.el (meta-common-mode):
* lisp/progmodes/octave.el (octave-mode):
* lisp/progmodes/prolog.el (prolog-menu):
* lisp/progmodes/tcl.el (tcl-mode):
* lisp/speedbar.el (speedbar-reconfigure-keymaps):
* lisp/term.el (term-mode, term-char-mode, term-process-pager):
* lisp/textmodes/dns-mode.el (dns-mode):
* lisp/wid-browse.el (widget-browse-mode): Don't call above
obsolete aliases.
* lisp/cedet/semantic/grammar.el (semantic-grammar-setup-menu-xemacs):
* lisp/mh-e/mh-folder.el (mh-folder-mode):
* lisp/mh-e/mh-identity.el (mh-identity-add-menu):
* lisp/mh-e/mh-letter.el (mh-letter-mode):
* lisp/mh-e/mh-search.el (mh-search-mode):
* lisp/mh-e/mh-show.el (mh-show-mode):
* lisp/obsolete/otodo-mode.el (todo-mode):
* lisp/progmodes/antlr-mode.el (antlr-mode):
* lisp/progmodes/cc-mode.el (c-mode, c++-mode, objc-mode)
(java-mode, idl-mode, pike-mode):
* lisp/progmodes/sql.el (sql-mode, sql-interactive-mode):
* lisp/progmodes/vhdl-mode.el (vhdl-update-mode-menu)
(vhdl-add-source-files-menu, vhdl-mode):
* lisp/textmodes/reftex-index.el (reftex-index-mode)
(reftex-index-phrases-mode):
* lisp/textmodes/reftex-toc.el (reftex-toc-mode):
* lisp/textmodes/reftex.el (reftex-mode): Only call above obsolete
aliases in XEmacs.
* lisp/progmodes/prolog.el (prolog-inferior-menu):
* lisp/erc/erc-menu.el (erc-menu-add, erc-menu-remove): Don't call
above obsolete aliases. Make obsolete.
* lisp/erc/erc-menu.el (menu, erc-menu-add, erc-menu-remove):
* lisp/progmodes/prolog.el (prolog-inferior-mode): Adjust callers.
* lisp/speedbar.el (speedbar-previous-menu): Make obsolete.
(Bug#44731)
Basil L. Contovounesios [Wed, 18 Nov 2020 12:53:03 +0000 (12:53 +0000)]
Fix handling of defcustom :local tag
For discussion, see the following emacs-devel thread:
https://lists.gnu.org/r/emacs-devel/2020-11/msg00734.html
* lisp/custom.el (custom-declare-variable): Delay call to
make-variable-buffer-local until after user option has been
initialized with a value. Otherwise the user option may be
initialized to nil.
* test/lisp/custom-tests.el (custom--test-local-option)
(custom--test-permanent-option): New :local user options.
(custom-test-local-option): New test for defcustom :local keyword.
Alan Mackenzie [Thu, 25 Jun 2020 17:07:16 +0000 (17:07 +0000)]
CC Mode. Fix an off by one error. Fixes bug #41809
* lisp/progmodes/cc-engine.el (c-full-pp-to-literal): Change > to >= (twice).
Basil L. Contovounesios [Tue, 24 Nov 2020 16:19:55 +0000 (16:19 +0000)]
; Fix last change to gnus-sum.el
* lisp/gnus/gnus-sum.el (gnus-paging-select-next): Add :version tag.
Eli Zaretskii [Tue, 24 Nov 2020 15:04:37 +0000 (17:04 +0200)]
Fix display artifacts when 'display' properties cover newlines
* src/xdisp.c (pos_visible_p): Set glyph_row of scratch iterators
to NULL, to avoid producing glyphs while we figure out the layout.
(Bug#44826)
Mauro Aranda [Tue, 24 Nov 2020 11:48:55 +0000 (08:48 -0300)]
Fix menu binding for files in fileset
* lisp/filesets.el (filesets-remake-shortcut): We want the callback of
the menu item, not a list that contains the callback. (Bug#44764)
Mauro Aranda [Tue, 24 Nov 2020 11:31:18 +0000 (08:31 -0300)]
Fix matching of inline choices for the choice widget
A choice widget should be able to match either no inline values or
inline values, upon request. (Bug#44579)
* lisp/wid-edit.el (choice): New property, :inline-bubbles-p. A
predicate that returns non-nil if the choice widget can act as an
inline widget. Document it.
(widget-choice-inline-bubbles-p): New function, for the
:inline-bubbles-p property of the choice widget.
(widget-inline-p): New function. Use the :inline-bubbles-p property
of the widget, if any.
(widget-match-inline): Use the above to see if the widget can act like
an inline widget. Document it.
(widget-choice-value-create): Account for the case of a choice widget
that has inline members.
(widget-checklist-add-item, widget-editable-list-value-create)
(widget-group-value-create): Use widget-inline-p rather than just
checking for a non-nil :inline property, allowing these functions to
pass the complete information to widgets like the choice widget to
create their values.
* test/lisp/wid-edit-tests.el (widget-test-choice-match-no-inline)
(widget-test-choice-match-all-inline)
widget-test-choice-match-some-inline): New tests, to check that choice
widgets can match its choices, inline or not.
(widget-test-inline-p): New test, for the new function
widget-inline-p.
(widget-test-repeat-can-handle-choice)
(widget-test-repeat-can-handle-inlinable-choice)
(widget-test-list-can-handle-choice)
(widget-test-list-can-handle-inlinable-choice)
(widget-test-option-can-handle-choice)
(widget-test-option-can-handle-inlinable-choice): New tests. This
grouping widgets need to be able to create a choice widget regardless
if it has inline choices or not.
Drew Adams [Tue, 24 Nov 2020 11:00:29 +0000 (08:00 -0300)]
Fix finding filelist for :tree fileset (Bug#976)
* lisp/filesets.el (filesets-files-under): New function, used to get
all files for a :tree fileset.
(filesets-get-filelist): Use it. Look for the directory and the
pattern in the right place inside entry.
Mattias Engdegård [Tue, 24 Nov 2020 09:37:37 +0000 (10:37 +0100)]
Autoload the 'rx' pcase macroexpander (bug#44807)
* lisp/emacs-lisp/rx.el (rx--pcase-macroexpander]): Autoload.
Lars Ingebrigtsen [Tue, 24 Nov 2020 08:27:14 +0000 (09:27 +0100)]
Allow controlling whether SPC in Gnus goes to the next article
* doc/misc/gnus.texi (Summary Maneuvering): Document it.
* lisp/gnus/gnus-sum.el (gnus-paging-select-next): New variable.
(gnus-summary-prev-page, gnus-summary-next-page): Use it.
Lars Ingebrigtsen [Tue, 24 Nov 2020 07:44:30 +0000 (08:44 +0100)]
Make the `C' command work on marked files
* lisp/arc-mode.el (archive-copy-file): Make the `C' command work
on marked files (bug#44753).
Lars Ingebrigtsen [Tue, 24 Nov 2020 07:22:26 +0000 (08:22 +0100)]
Add a user option to control how links are followed in eww
* doc/misc/eww.texi (Advanced): Document it (bug#44783).
* lisp/net/eww.el (eww-use-browse-url): New variable.
(eww-follow-link): Use it.
Itai Seggev [Tue, 24 Nov 2020 05:52:27 +0000 (06:52 +0100)]
Codesign the executable on recene MacOS systems
* src/Makefile.in (temacs$(EXEEXT)): Codesign the executable on
recent (ARM) MacOS systems (bug#43878). Without this, building
Emacs fails.
Copyright-paperwork-exempt: yes
Lars Ingebrigtsen [Tue, 24 Nov 2020 05:41:03 +0000 (06:41 +0100)]
Delete the emacs-server directory upon Emacs exit
* lisp/server.el (server-start): Delete the server directory upon
Emacs exit (bug#44644). This fixes the problem of /tmp/emacs0
directories being left behind when running an Emacs server as root.
Lars Ingebrigtsen [Tue, 24 Nov 2020 05:22:52 +0000 (06:22 +0100)]
Tweak the face of unknown backend indicators in flymake
* lisp/progmodes/flymake.el (flymake--mode-line-format): Don't put
a face on the the "?" unknown backend indicator, because that
looks odd in inactive windows (bug#44689).
Paul W. Rankin [Tue, 24 Nov 2020 05:08:59 +0000 (06:08 +0100)]
Handle outline overlays better when cycling in outline.el
* lisp/outline.el (outline--cycle-state): Only consider outline
overlays that are on outline headings; when subtree end is
point-max, return overlay-end +1 because final subtree overlay
only reaches point-max -1 (bug#41198).
(outline-cycle-buffer): Check that buffer has top-level headings
before calling outline-hide-sublevels 1 thus preventing
disconcerting buffer state of content reduced to single "..."
Michael Albinus [Mon, 23 Nov 2020 18:54:09 +0000 (19:54 +0100)]
Adapt files-x-tests.el according to recent Tramp changes
* test/lisp/files-x-tests.el (tramp-connection-local-default-profile):
Don't declare.
(tramp-connection-local-default-shell-variables)
(tramp-connection-local-default-system-variables): Declare.
(files-x-test-with-connection-local-variables): Use them.
Glenn Morris [Mon, 23 Nov 2020 17:41:53 +0000 (09:41 -0800)]
; Merge from origin/emacs-27
The following commits were skipped:
2b1cec5592 (origin/emacs-27) Sync latest SKK-JISYO.L
070c1f8cd7 Update publicsuffix.txt from upstream
Glenn Morris [Mon, 23 Nov 2020 17:41:53 +0000 (09:41 -0800)]
Merge from origin/emacs-27
3ceee39819 Fix Bug#44481
Glenn Morris [Mon, 23 Nov 2020 17:41:53 +0000 (09:41 -0800)]
; Merge from origin/emacs-27
The following commit was skipped:
a824888188 Minor Edebug manual keystroke clarifications
Glenn Morris [Mon, 23 Nov 2020 17:41:53 +0000 (09:41 -0800)]
Merge from origin/emacs-27
86cbc9d216 Make ignoring modifiers on IME input optional
32b97bb9e0 Ignore modifiers when processing WM_IME_CHAR messages
f641ef1a07 Improve documentation of 'font-spec'
# Conflicts:
# etc/NEWS
Glenn Morris [Mon, 23 Nov 2020 17:41:53 +0000 (09:41 -0800)]
; Merge from origin/emacs-27
The following commit was skipped:
9d02e6c5ff Further doc fixes for dotimes about RESULT
Glenn Morris [Mon, 23 Nov 2020 17:41:53 +0000 (09:41 -0800)]
Merge from origin/emacs-27
e66502fec1 ; * doc/misc/eshell.texi (Input/Output): Fix typo.
Glenn Morris [Mon, 23 Nov 2020 17:41:53 +0000 (09:41 -0800)]
; Merge from origin/emacs-27
The following commit was skipped:
d5d3862c56 ; * INSTALL: Correct a recent change.
Alan Mackenzie [Mon, 23 Nov 2020 15:54:50 +0000 (15:54 +0000)]
minibuffer code: restore original frame after using minibuffer-only frame, etc
* src/minibuf.c (read_minibuf): In the record_unwind_protect for the second
restore_window_configuration (separate minibuffer frame case) arrange for the
future switching back to the original frame by Fset_window_configuration.
Mattias Engdegård [Mon, 23 Nov 2020 14:15:25 +0000 (15:15 +0100)]
Fix 'See @xref{...}' (bug#44811)
Reported by 황병희.
* doc/lispref/edebug.texi (Printing in Edebug):
* doc/misc/ebrowse.texi (Marking Classes):
* doc/misc/gnus.texi (Ma Gnus):
* doc/misc/tramp.texi (Remote shell setup):
Don't stutter (@xref expands to 'See ...').
Stefan Kangas [Mon, 23 Nov 2020 12:46:21 +0000 (13:46 +0100)]
Remove Emacs 19 and 20 compat code from table.el
* lisp/textmodes/table.el:
(table-recognize-cell, table--make-cell-map)
(*table--present-cell-popup-menu, table--update-cell)
(table--update-cell-widened, table--update-cell-heightened)
(table--cell-insert-char, table--warn-incompatibility): Remove
Emacs 19 and 20 compat code.
* lisp/textmodes/table.el (table-disable-menu)
(table--set-timer, table--get-last-command): Declare obsolete.
Stefan Kangas [Wed, 26 Aug 2020 15:25:53 +0000 (17:25 +0200)]
Sync latest SKK-JISYO.L
* leim/SKK-DIC/SKK-JISYO.L: Sync to current upstream version.
(cherry picked from commit
6a5f9700846551a7f3795e257356dbab865116f4)
Stefan Kangas [Sun, 11 Oct 2020 13:03:11 +0000 (15:03 +0200)]
Update publicsuffix.txt from upstream
* etc/publicsuffix.txt: Update from
https://publicsuffix.org/list/public_suffix_list.dat
dated 2020-10-09 08:23:34 UTC.
(cherry picked from commit
5b13afab0a903ead8363482529019d4fb80ec4b4)
Stefan Kangas [Mon, 23 Nov 2020 11:12:29 +0000 (12:12 +0100)]
Use lexical-binding in most runtime leim lisp files
* lisp/leim/quail/arabic.el:
* lisp/leim/quail/croatian.el:
* lisp/leim/quail/cyril-jis.el:
* lisp/leim/quail/cyrillic.el:
* lisp/leim/quail/czech.el:
* lisp/leim/quail/ethiopic.el:
* lisp/leim/quail/georgian.el:
* lisp/leim/quail/greek.el:
* lisp/leim/quail/hanja-jis.el:
* lisp/leim/quail/hanja.el:
* lisp/leim/quail/hanja3.el:
* lisp/leim/quail/hebrew.el:
* lisp/leim/quail/ipa-praat.el:
* lisp/leim/quail/latin-alt.el:
* lisp/leim/quail/latin-post.el:
* lisp/leim/quail/latin-pre.el:
* lisp/leim/quail/persian.el:
* lisp/leim/quail/programmer-dvorak.el:
* lisp/leim/quail/py-punct.el:
* lisp/leim/quail/pypunct-b5.el:
* lisp/leim/quail/rfc1345.el:
* lisp/leim/quail/sami.el:
* lisp/leim/quail/sgml-input.el:
* lisp/leim/quail/slovak.el:
* lisp/leim/quail/symbol-ksc.el:
* lisp/leim/quail/tamil-dvorak.el:
* lisp/leim/quail/vntelex.el:
* lisp/leim/quail/vnvni.el:
* lisp/leim/quail/welsh.el: Use lexical-binding.
Eric Abrahamsen [Fri, 20 Nov 2020 00:32:41 +0000 (16:32 -0800)]
Small fixes to gnus-search output parsing of indexed engines
* lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output): When
filtering for desired groups, accept any of [.\/] as potential segment
delimiters. Later on, filesystem path separators will be interpreted
as dots (".") when constructing group names. Also, make sure we use
`expand-file-name' on the prefix, and just use `string-remove-prefix'
to get rid of it.
Philipp Stephani [Sun, 22 Nov 2020 22:22:50 +0000 (23:22 +0100)]
Unbreak compilation with CHECK_STRUCTS.
Commit
3963aea4f4a22da0c1fb8ca8ca80b59c58373811 modified the ‘buffer’
structure, but didn’t adapt the hash.
* src/pdumper.c (dump_buffer): Update buffer hash.
Michael Albinus [Sun, 22 Nov 2020 18:56:23 +0000 (19:56 +0100)]
Replace /dev/null by remote null-device in Tramp.
* lisp/net/tramp-adb.el (tramp-adb-get-ls-command)
(tramp-adb-handle-set-file-times, tramp-adb-handle-process-file):
Use `tramp-get-remote-null-device'.
* lisp/net/tramp-compat.el (tramp-tramp-file-p): Declare.
(tramp-compat-null-device): New defalias.
* lisp/net/tramp-sh.el (tramp-methods) <telnet, nc>:
(tramp-perl-encode-with-module, tramp-perl-decode-with-module)
(tramp-perl-encode, tramp-perl-decode, tramp-awk-decode):
Use "%n" marker.
(tramp-do-directory-files-and-attributes-with-stat)
(tramp-sh-handle-file-name-all-completions)
(tramp-do-copy-or-rename-file-out-of-band)
(tramp-sh-handle-insert-directory, tramp-sh-handle-process-file)
(tramp-set-remote-path, tramp-open-connection-setup-interactive-shell)
(tramp-find-inline-encoding, tramp-send-command-and-check)
(tramp-get-remote-path, tramp-get-ls-command, tramp-get-ls-command-with)
(tramp-get-remote-awk, tramp-get-remote-hexdump, tramp-get-remote-od)
(tramp-get-env-with-u-option): Use `tramp-get-remote-null-device'.
(tramp-remote-coding-commands, tramp-call-local-coding-command):
Adapt docstring.
* lisp/net/tramp-smb.el (tramp-smb-conf): Use `null-device'.
(tramp-smb-handle-file-acl): Use `tramp-get-remote-null-device'.
* lisp/net/tramp.el (tramp-methods): Adapt docstring.
(tramp-get-remote-null-device): New defun.
(tramp-interrupt-process): Use it.
Stefan Kangas [Sun, 22 Nov 2020 06:19:11 +0000 (07:19 +0100)]
Test for byte-compiler warning "variable lacks prefix"
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp--with-warning-test): New macro.
(bytecomp-warn-wrong-args, bytecomp-warn-wrong-args-subr):
Use above new macro.
(bytecomp-warn-variable-lacks-prefix): New test.
Stefan Kangas [Sun, 22 Nov 2020 02:24:26 +0000 (03:24 +0100)]
Test interactive-only spec of with-suppressed-warnings
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-test--with-suppressed-warnings): Test suppressing warning
with interactive-only.
Stefan Kangas [Fri, 13 Nov 2020 18:15:21 +0000 (19:15 +0100)]
Say which command shadows a key binding
* src/keymap.c (describe_vector): Say which command shadows this
binding. (Bug#9293)
* test/src/keymap-tests.el
(help--describe-vector/bug-9293-one-shadowed-in-range): Adapt
test.
Stefan Kangas [Fri, 13 Nov 2020 14:28:34 +0000 (15:28 +0100)]
Don't shadow bindings by the same command
* src/keymap.c (describe_vector): Do not say binding is shadowed if
the other key binding points to the same command. (Bug#9293)
* test/src/keymap-tests.el
(help--describe-vector/bug-9293-same-command-does-not-shadow): New
test.
Stefan Kangas [Fri, 13 Nov 2020 14:28:29 +0000 (15:28 +0100)]
Don't show key ranges if shadowed by different commands
* src/keymap.c (describe_vector): Make sure found consecutive keys
are either not shadowed or, if they are, that they are shadowed by
the same command. (Bug#9293)
* test/src/keymap-tests.el
(help--describe-vector/bug-9293-one-shadowed-in-range): New test.
Juri Linkov [Sat, 21 Nov 2020 19:49:46 +0000 (21:49 +0200)]
Handle help-form in y-or-n-p and use this in find-file-noselect (bug#5423)
* doc/lispref/help.texi (Help Functions): Mention help-form for
read-char-from-minibuffer and y-or-n-p.
* doc/lispref/minibuf.texi (Yes-or-No Queries): Mention help-form
for y-or-n-p.
(Multiple Queries): Mention help-form for read-char-from-minibuffer.
* lisp/files.el (find-file-noselect): Let-bind multi-line help text
to help-form for y-or-n-p.
* lisp/subr.el (read-char-choice): Mention help-form in docstring.
(read-char-from-minibuffer): Mention help-form in docstring.
(y-or-n-p-map): Remove handling of 'help'.
(y-or-n-p): Mention help-form in docstring.
When help-form is non-nil: add help-char to 'prompt', and bind
help-char to help-form-show in composed-keymap.
Michael Albinus [Sat, 21 Nov 2020 15:00:17 +0000 (16:00 +0100)]
Fix Bug#44481
* lisp/net/tramp.el (tramp-system-name): New defconst.
(tramp-default-host, tramp-restricted-shell-hosts-alist)
(tramp-local-host-regexp):
* lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it. (Bug#44481)
Michael Albinus [Sat, 21 Nov 2020 14:28:52 +0000 (15:28 +0100)]
Handle connection-local null-device and path-separator variables
* doc/lispref/os.texi (System Environment): Add `path-separator'
function and `null-device' variable and function.
* etc/NEWS: Mention 'null-device' and 'path-separator'. Fix typos.
* lisp/files-x.el (path-separator, null-device): New defuns. (Bug#3736)
* lisp/net/tramp-adb.el
(tramp-adb-connection-local-default-shell-variables): Rename from
`tramp-adb-connection-local-default-profile'.
* lisp/net/tramp-integration.el
(tramp-connection-local-default-system-variables): New defvar.
Add it to connection-local profiles.
(tramp-connection-local-default-shell-variables): Rename from
`tramp-connection-local-default-profile'.
* lisp/progmodes/grep.el (grep-hello-file): New defun.
(grep-compute-defaults): Use `null-device' function for remote
case. Handle remote `hello-file'. Use `process-file-shell-command'.
(grep,grep-expand-keywords, lgrep): Use `null-device' function for
remote case.
Lars Ingebrigtsen [Mon, 16 Nov 2020 23:18:11 +0000 (00:18 +0100)]
Minor Edebug manual keystroke clarifications
* doc/lispref/edebug.texi (Edebug Misc): Also mention the `a'
binding to abort (bug#44697). Also fix `d' function reference, and
add `P' reference.
(cherry picked from commit
b613f25f97abf756101eaa2af90689a19c0b3350)
Jared Finder [Sun, 15 Nov 2020 07:44:26 +0000 (23:44 -0800)]
Migrate usage of GPM_CLICK_EVENT to MOUSE_CLICK_EVENT.
* src/termhooks.h (enum event_kind):
* src/term.c (term_mouse_click, handle_one_term_event):
* src/keyboard.c (discard_mouse_events, make_lispy_event): Migrate
usage of GPM_CLICK_EVENT to MOUSE_CLICK_EVENT.
Eli Zaretskii [Sat, 21 Nov 2020 08:14:55 +0000 (10:14 +0200)]
Make ignoring modifiers on IME input optional
By default, ignore modifier keys on IME input, but add
a variable to get back old behavior.
* src/w32fns.c (syms_of_w32fns): New variable
w32-ignore-modifiers-on-IME-input.
(w32_wnd_proc): Use it to ignore modifier keys when IME input is
used. (Bug#44641)
* etc/NEWS: Announce the change and the new variable.
Masahiro Nakamura [Sat, 14 Nov 2020 08:55:16 +0000 (17:55 +0900)]
Ignore modifiers when processing WM_IME_CHAR messages
* src/w32fns.c (w32_wnd_proc): Ignore modifiers when processing
WM_IME_CHAR messages.
Stefan Monnier [Sat, 21 Nov 2020 00:28:34 +0000 (19:28 -0500)]
* lisp/emacs-lisp/package.el (package-strip-rcs-id): Don't ignore errors
Ignoring errors here just postpones the error and replaces a clear
"invalid version syntax" with a confusing "package lacks a version".
Mauro Aranda [Fri, 20 Nov 2020 22:28:03 +0000 (19:28 -0300)]
Use cl-letf instead of unwind-protect in a test
* test/lisp/cus-edit-tests.el (cus-edit-tests-customize-saved/show-obsolete):
Good use case for cl-letf, so use it.
Suggested by Stefan Monnier <monnier@iro.umontreal.ca> in:
https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg00914.html
Stefan Monnier [Fri, 20 Nov 2020 21:54:06 +0000 (16:54 -0500)]
* test/manual/indent/tcl.tcl: Add string interpolation case
Stefan Monnier [Fri, 20 Nov 2020 21:45:56 +0000 (16:45 -0500)]
Don't optimize away `eval` when its lexical context is different
* lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-eval):
Obey lexical-binding.
Mauro Aranda [Fri, 20 Nov 2020 21:37:30 +0000 (18:37 -0300)]
Take care of a FIXME in cus-edit-tests.el
* test/lisp/cus-edit-tests.el (cus-edit-tests-customize-saved/show-obsolete):
Add a fake saved-value property, to be able check that the obsolete
option is present in the Customize buffer. Expect the test to pass
now.
Stefan Kangas [Fri, 20 Nov 2020 16:25:31 +0000 (17:25 +0100)]
Don't quote lambda in idlwave.el
* lisp/progmodes/idlwave.el (idlwave-keyword-abbrev): Don't quote
lambda.
Stefan Kangas [Fri, 20 Nov 2020 15:44:52 +0000 (16:44 +0100)]
Remove remaining XEmacs compat code from erc-log.el
* lisp/erc/erc-log.el (erc-save-buffer-in-logs): Remove XEmacs
compat code.
Stefan Kangas [Fri, 20 Nov 2020 15:43:57 +0000 (16:43 +0100)]
Don't set XEmacs only properties start-open and end-open
* lisp/epa.el (epa-sign-region, epa-encrypt-region):
* lisp/erc/erc.el (erc-display-prompt):
* lisp/gnus/message.el (message-forward-make-body-mime):
* lisp/net/eudc-bob.el (eudc-bob-display-jpeg)
(eudc-bob-display-audio, eudc-bob-display-generic-binary):
* lisp/url/url-http.el
(url-http-chunked-encoding-after-change-function): Don't set XEmacs
only properties start-open and end-open.
Stefan Kangas [Fri, 20 Nov 2020 15:22:35 +0000 (16:22 +0100)]
Remove XEmacs compat code from idlw-shell.el
* lisp/progmodes/idlw-shell.el:
(idlwave-shell-use-toolbar): Doc fix.
(idlwave-default-mouse-track-event-is-with-button): Declare obsolete.
(idlwave-shell-update-bp-overlays): Remove XEmacs compat code.
Stefan Kangas [Fri, 20 Nov 2020 15:19:14 +0000 (16:19 +0100)]
Remove some XEmacs compat code from ediff-wind.el
* lisp/vc/ediff-wind.el (ediff-window)
(ediff-compute-toolbar-width): Remove some XEmacs compat code.
Stefan Kangas [Fri, 20 Nov 2020 14:17:22 +0000 (15:17 +0100)]
Remove Emacs 20 compat code from org.el
* lisp/org/org.el (org-org-menu, org-create-customize-menu):
Remove Emacs 20 compat code.
Stefan Kangas [Fri, 20 Nov 2020 14:13:08 +0000 (15:13 +0100)]
Remove Emacs 20 compat code from idlwave.el
* lisp/progmodes/idlwave.el (idlwave-indent-line)
(idlwave-toggle-comment-region, idlwave-reset-sintern)
(idlwave-unit-name, idlwave-mode-menu-def)
(idlwave-create-customize-menu): Remove Emacs 20 compat code.
Stefan Kangas [Fri, 20 Nov 2020 13:57:22 +0000 (14:57 +0100)]
Properly mark obsolete semantic functions as such
* lisp/cedet/semantic/ia.el (semantic-ia-get-completions)
(semantic-ia-get-completions-deprecated): Make obsolete.
Stefan Kangas [Fri, 20 Nov 2020 13:56:49 +0000 (14:56 +0100)]
Mark compat alias in cus-face.el obsolete
* lisp/cus-face.el (custom-facep): Mark compat alias obsolete.
* lisp/cus-dep.el (custom-make-dependencies):
* lisp/cus-edit.el (customize-changed-options)
(custom-unsaved-options, customize-saved, customize-apropos)
(custom-save-faces): Adjust callers.
Eli Zaretskii [Fri, 20 Nov 2020 15:00:36 +0000 (17:00 +0200)]
Fix compilation on MS-Windows with librsvg > 2.46.0
* src/image.c (rsvg_handle_get_dimensions, init_svg_functions):
Make 'rsvg_handle_get_dimensions' available and defined for all
versions of librsvg. (Bug#44655)
Stefan Kangas [Fri, 20 Nov 2020 13:33:25 +0000 (14:33 +0100)]
Hide obsolete options in most customize commands
* lisp/cus-edit.el (custom--filter-obsolete-variables): New defun.
* lisp/cus-edit.el (customize-changed-options)
(customize-apropos, custom-group-value-create): Hide obsolete user
options. (Bug#44598)
* test/lisp/cus-edit-tests.el: New file.
João Tãvora [Fri, 20 Nov 2020 10:02:52 +0000 (10:02 +0000)]
Revert unintended part of last change to jsonrpc-request
While playing around with the timing in this function, I left
this change that could freeze the function on some platforms.
* lisp/jsonrpc.el (jsonrpc-request): Use accept-process-output.
(Version): Bump to 1.0.14
Lars Ingebrigtsen [Fri, 20 Nov 2020 02:33:38 +0000 (03:33 +0100)]
Move semantic/tag obsolete variables to avoid a warning
* lisp/cedet/semantic/tag.el (semantic-token-version): Move to
avoid a compilation warning.
João Távora [Fri, 20 Nov 2020 01:18:16 +0000 (01:18 +0000)]
Fix default timeout handling in jsonrpc-request
* lisp/jsonrpc.el (jsonrpc-request): Use default timeout if not passed.
(Version): Bump to 1.0.13
Lars Ingebrigtsen [Thu, 19 Nov 2020 23:19:18 +0000 (00:19 +0100)]
Avoid a compilation warning about an ambiguous else
* src/data.c (set_internal): Avoid compilation warning.
data.c:1443:9: error: suggest explicit braces to avoid ambiguous ‘else’
1443 | if (idx > 0 && bindflag == SET_INTERNAL_SET
| ^
Stefan Monnier [Thu, 19 Nov 2020 22:13:04 +0000 (17:13 -0500)]
* src/data.c (set_internal): Fix bug#44733
Set the default value when `set` encounters a PER_BUFFER variable
which has been let-bound globally, to match the behavior seen with
`make-variable-buffer-local`.
* test/src/data-tests.el (binding-test--let-buffer-local):
Add corresponding test.
(data-tests--set-default-per-buffer): Add tentative test for the
performance problem encountered in bug#41029.
Eli Zaretskii [Thu, 19 Nov 2020 20:06:23 +0000 (22:06 +0200)]
Improve documentation of 'font-spec'
* doc/lispref/display.texi (Low-Level Font):
* src/font.c (Ffont_spec): Document 'font-spec' keys that are
supported, but were undocumented.
Stefan Kangas [Thu, 19 Nov 2020 19:58:26 +0000 (20:58 +0100)]
Remove some XEmacs compat code from filesets.el
* lisp/filesets.el (filesets-init): Remove some XEmacs compat code.
(filesets-error): Declare obsolete.
(filesets-directory-files, filesets-get-selection)
(filesets-spawn-external-viewer, filesets-get-filelist)
(filesets-open, filesets-close, filesets-get-menu-epilog)
(filesets-ingroup-collect-files, filesets-build-ingroup-submenu)
(filesets-update-pre010505): Adjust callers.
Stefan Kangas [Thu, 19 Nov 2020 16:46:16 +0000 (17:46 +0100)]
Remove some compat code from ffap.el
* lisp/ffap.el (ffap-mouse-event, ffap-event-buffer): Make obsolete.
(ffap-menu-ask, ffap-at-mouse): Adjust callers.
Stefan Kangas [Thu, 19 Nov 2020 16:42:14 +0000 (17:42 +0100)]
Declare some compat aliases obsolete
* lisp/cedet/semantic/tag.el (semantic-token-version)
(semantic-token-incompatible-version):
* lisp/emulation/edt.el (edt-bind-standard-key): Make compat
aliases obsolete.
Stefan Kangas [Thu, 19 Nov 2020 16:41:18 +0000 (17:41 +0100)]
Remove some compat code from url.el
* lisp/url/url.el (url-warn): Make into obsolete alias for
display-warning.
* lisp/url/url-auth.el (url-register-auth-scheme):
* lisp/url/url-news.el (url-news-open-host):
* lisp/url/url-proxy.el (url-find-proxy-for-url): Adjust callers.
Stefan Kangas [Thu, 19 Nov 2020 05:42:46 +0000 (06:42 +0100)]
Remove some compat code for old versions and XEmacs
* lisp/ibuf-ext.el (ibuffer-old-saved-filters-warning)
(ibuffer-maybe-save-stuff): Assume customize-save-variable is
bound; it is autoloaded.
* lisp/cedet/semantic/symref/grep.el (semantic-symref-perform-search):
* lisp/password-cache.el (password-cache-remove):
* lisp/cedet/semantic/bovine/el.el (semantic-dependency-tag-file):
Remove Emacs 21 compat code.
* lisp/cedet/semantic/sort.el (semantic-string-lessp-ci):
Remove Emacs 20 compat code.
* test/lisp/cedet/semantic-utest.el (semantic-utest-temp-directory):
* lisp/mail/supercite.el (sc-ask): Remove XEmacs compat code.
* lisp/progmodes/idlw-shell.el (idlwave-shell-mode):
* lisp/progmodes/idlwave.el (idlwave-mode): Remove commented out
compat code.
Stefan Monnier [Thu, 19 Nov 2020 18:10:20 +0000 (13:10 -0500)]
* src/buffer.h (struct buffer): Remove unused field `minor_modes`
* src/buffer.c (bset_minor_modes): Remove function.
(reset_buffer_local_variables, init_buffer_once): Don't set `minor_modes`.
Michael Albinus [Thu, 19 Nov 2020 16:18:36 +0000 (17:18 +0100)]
Use decoding implementation from `insert-directory' in Tramp
* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory):
Use decoding implementation from `insert-directory', it is more robust.
Mattias Engdegård [Thu, 19 Nov 2020 13:24:24 +0000 (14:24 +0100)]
More string-search optimisations
All-ASCII strings cannot have substrings with non-ASCII characters in
them; use this fact to avoid searching entirely.
* src/fns.c (Fstring_search): For multibyte non-ASCII needle and
unibyte haystack, don't check if the haystack is all-ASCII; it's a
waste of time. For multibyte non-ASCII needle and multibyte
all-ASCII haystack, fail immediately.
* test/src/fns-tests.el (string-search): Add more test cases.
Alan Mackenzie [Thu, 19 Nov 2020 13:24:28 +0000 (13:24 +0000)]
* etc/NEWS: Restore entries accidentally removed by previous commit.